package com.google.code.p.restrpc.client.cluster;

import com.google.code.p.restrpc.RestInvoker;
import com.google.code.p.restrpc.RpcContext;
import com.google.code.p.restrpc.client.loadbalance.LoadBalanceStrategy;

/**
 * @author dz
 */
public class DefaultClusteredRpcContext implements ClusteredRpcContext {
    
    private RestInvoker restInvoker;
    
    private RpcContext rpcContext;
    
    private LoadBalanceStrategy loadBalanceStrategy;
     
    
    /**
     * @param rpcInvoker
     * @param rpcContext
     * @param loadBalanceStrategy
     * @param repository
     */
    public DefaultClusteredRpcContext(RestInvoker restInvoker,
                                      RpcContext rpcContext,
                                      LoadBalanceStrategy loadBalanceStrategy) {
        this.restInvoker = restInvoker;
        this.rpcContext = rpcContext;
        this.loadBalanceStrategy = loadBalanceStrategy;
    }
    
    /**
     * @return the rpcInvoker
     */
    public RestInvoker getRestInvoker() {
        return restInvoker;
    }
    
    /**
     * @return the rpcContext
     */
    public RpcContext getRpcContext() {
        return rpcContext;
    }
    
    /**
     * @return the loadBalanceStrategy
     */
    public LoadBalanceStrategy getLoadBalanceStrategy() {
        return loadBalanceStrategy;
    }
     
}
